package 策略模式.v2;

/**
 * 使用规则对数据进行处理
 * <p>
 * 通过使用枚举类，在枚举中将 key 与 规则具体实现进行绑定。通过改变：
 * <p>
 * 可以减少if -else使得代码更加优雅 如果需要新增渠道，我们只需要在编写具体规则实现类并继承GeneralChannelRule抽象类，
 * 并在枚举类中新增的枚举，而不需要改动到原先的任何代码。这符合了开发封闭原则
 */
public class Test {

    public static void main(String[] args) {
        String sign = "TOUTIAO";
        ChannelRuleEnum channelRule = ChannelRuleEnum.match(sign);
        GeneralChannelRule rule = channelRule.channel;
        rule.process(sign);
    }
}